#pragma once

#include "cabin.h"
#include "wheel.h"
#include "support.h"

namespace tp1
{
	class Noria
	{
	public:
		Noria();
		~Noria();

		void Update(float rotation_big_wheel,float rotation_small_wheel);

		void Render();


	private:
		WheelComposite*		m_wheel;
		Support*			m_support;

		WheelComposite*		w;
		Cabin*				c;

		Cylinder*	m_cylinder;

		float		m_rotationBigWheel;
		float		m_rotationSmallWheel;

	public:
		static const float RADIUS_BIG_WHEEL;
		static const float RADIUS_SMALL_WHEEL;

		static const int QDIVISIONS_BIG_WHEEL;
		static const int QDIVISIONS_SMALL_WHEEL;

		static const float	RADIUS_CYLINDERS_WHEELS;
		static const int	SIDES_CYLIINDERS_WHEELS;

		static const float BASE_SUPPORT;
		static const float HEIGHT_SUPPORT;
		
		static const float RADIUS_CYLINDERS_SUPPORT;
		static const float SIDES_CYLINDERS_SUPPORT;

		static const float BASE_CABIN;
		static const float HEIGHT_CABIN;


		static const int Q_SMALL_WHEELS;
		static const int Q_CABINS_FOR_WHEEL;
	};
}
